Ext.onReady(function(){

    var generatePdf = function(form, action){
        new Ext.ux.MediaWindow({
            id        : 'PDFViewerWin',
            title     : 'PDF Viewer',
            renderTo  : 'layout_content',
            bodyStyle : 'position:relative; padding:0px;',
            width     : 900,
            height    : 400,
            mediaCfg  : {
                mediaType       : 'PDF',
                url             : '/listado/pdf',
                unsupportedText : 'Acrobat Viewer is not Installed',
                resizable       : true
            }
        }).show();
    };

    var h_empty_profesor = function(){X.focus('profesor');}
    var h_empty_desde    = function(){X.focus('desde');}
    var h_empty_hasta    = function(){X.focus('hasta');}

    X.store({
        id     : 'storeProfesor',
        fields : [ 'idProfesor', 'codigoTarjeta','nombre', 'apellido',
                   {name: 'nombreCompleto', mapping:'apellido+", "+obj.nombre'} ]
    });
        
    X.form.panel({
        id     : 'createReportForm',
        height : 85,
        width  : 450,
        items  : [
            X.form.label  ({x:10,  y:16,  text:'Profesor:'}),
            X.form.label  ({x:10,  y:46, text:'Desde:'}),
            X.form.label  ({x:180, y:46, text:'Hasta:'}),
            X.form.combo  ({x:70,  y:10,  width:355, id:'profesor',
                                                     dfield:'nombreCompleto',
                                                     vfield:'codigoTarjeta',
                                                     storeId:'storeProfesor',
                                                     beforerender: function(){
                                                        alert('hola');
                                                     }
                                                    }),
            X.form.date   ({x:70, y:40, width:95, id:'desde'}),
            X.form.date   ({x:225, y:40, width:95, id:'hasta', maxValue: new Date()}),
            X.form.button ({x:330, y:40,  width:95, id:'generar', text:'Generar'})
        ]
    });

    X.event.button('generar', function(){
        if (X.isempty('profesor'))
            X.msg.failure('Seleccione un "Profesor".', h_empty_profesor  );
        else if (X.isempty('desde'))
            X.msg.failure('Seleccione una fecha de inicio.', h_empty_desde);
        else if (X.isempty('hasta'))
            X.msg.failure('Seleccione una fecha de fin.', h_empty_hasta   );
        else{
            X.ajax({
                url: '/listado/ajax-crear',
                params: {
                    profesor : X.value('profesor'),
                    desde    : X.value('desde'),
                    hasta    : X.value('hasta')
                },
                afterSuccess: generatePdf
            });
        }
    });

    X.win.panel({
        id       : 'creaWindow',
        title    : 'Generación de listado de marcaciones',
        modal    : false,
        items    : X.get('createReportForm')
    });

    X.get('creaWindow').show();

});

